"""
import jsonschema
jsonschema.validate(实际结果的字典内容， schema校验规则的字典数据)
jsonschema.validate(instance, schema)
- instance： 要验证的JSON数据
- schema： 用于校验JSON数据的验证规则


需求： 测试ihrm登录接口-登录成功
要求： 全量校验接口返回结果（ data字段为字符串， 其他字段进行值匹配）
"""
import requests
import jsonschema
class TestLogin:
    def test_01(self):
        # 数据
        body = {"mobile": "13800000002",
                "password": "123456"}
# 2,发送请求 获取响应对象
        url="http://ihrm-test.itheima.net/api/sys/login"
        resp=requests.post(url,json=body)
        # 获取响应内容的json格式
        json_data=resp.json()
        print(f'实际结果：{json_data}')
        #4，以前是断言 现在是全量字典校验
        # 4.1定义预期的校验格式（把json写成python的语法）

        rule = {
            "type": "object",
            "required": ["success", "code", "message", "data"],
            "properties": {
                "success": {"const": True},
                "code": {"const": 10000},
                "message": {"pattern": "成功"},
                "data": {"type": "string"}
            }
        }
        print(f'校验规则：{rule}')
        #4.2全量字典校验
        #jsonschema.validata(实际结果的字典内容，schema校验规则的字典数据）
        jsonschema.validate(json_data,rule)
